<!DOCTYPE html>
<style>
    #multicol { position:relative; columns:4; column-gap:0; column-fill:auto; width:20px; height:50px; line-height:20px; }
    table { width:100%; border-spacing:0 20px; }
    tr { break-inside:avoid; }
    td { padding:0; }
    td > div { height:20px; box-sizing:border-box; }
    .squarepart { position:relative; background:blue; }
</style>
<p>There should be a blue square below.</p>
<div id="multicol">
    <!-- All table rows are 20px tall, potentially with some overflow past the
         bottom (which isn't enough to affect fragmentation). -->
    <table>
        <tr>
            <td>
                <div>
                    <div class="squarepart"><br></div>
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <div style="padding-top:10px;">
                    <div class="squarepart"><br></div>
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <div style="padding-top:20px;">
                    <div class="squarepart"><br></div>
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <div style="padding-top:20px;">
                    <div class="squarepart"><br></div>
                </div>
            </td>
        </tr>
    </table>
</div>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script>
test(() => {
    var squareparts = document.getElementsByClassName("squarepart");
    assert_equals(squareparts.length, 4);
    assert_equals(squareparts[0].offsetTop, 20);
    assert_equals(squareparts[1].offsetTop, 20);
    assert_equals(squareparts[2].offsetTop, 20);
    assert_equals(squareparts[3].offsetTop, 20);
}, "It's okay to break inside border spacing");
</script>
